package test;

/**
 * 这是一个示例类，请参考下述注释，将该Java程序启动，并在控制台输出HelloWorld！
 *
 *  怎么运行从Git上下载下来的代码?
 *      1,首先观察本页面右上角的提示，如果有提示的话：
 *          根据文件右上角的提示，点击setup SDK,然后选择JDK8的版本（或者指向JDK8的安装目录）
 *
 *      2,然后按住快捷键ctrl + alt + shift + s 或者左上角 File --> Project Structure
 *          如此进入工程结构设置，下面的操作都是在该页面下进行
 *
 *      3,设置Project选项页
 *          点击左侧的Project选项页，进行如下设置：
 *              a.设置Project SDK为Java8（选择JDK目录即可）
 *              b.将Project Language Level设置为8
 *              c.Project Compiler Output中需要设置一个目录
 *                  该目录为project中java文件编译后class文件的存放位置
 *                  建议设置为：当前工程目录/out
 *                  比如当前工程目录为 E:/idea_space/35th/java35th
 *                  建议out目录设置为 E:/idea_space/35th/java35th/out
 *          如此，完成Project选项页的设置，这一步是工程的基本设置，必须要完成。
 *
 *      4,设置Modules选项页
 *          点击左侧的Modules选项页，进行如下设置：
 *              a.点击页面中间位置的“+”加号，选择选项中Import Module
 *                  （Module已存在，只是不能识别而已，所以直接导入即可，不要点击New Module）
 *              b.找到想要导入module的硬盘位置
 *                  比如0-test这个module位于E:\idea_space\35th\java35th\0-_3test
 *                  直接选择module文件夹，选择OK
 *              c.在随后弹出的窗口中直接next到底，最后选择OK关闭设置。
 *                  如果出现override（覆盖）提示，说明选错了module文件夹，再仔细看一下目录
 *          如此，完成Modules选项页的设置，这一步可以自行选择想要运行代码的module进行import
 *
 *      5，以上完成import module，可以测试一下module下的代码是否正常运行，正常运行即为添加成功
 *
 *      如果出现问题可以尝试再按照步骤操作一遍，实在不行可以重新拉取一遍代码仓库，再整个操作一遍
 *
 * 包的概念:
 * 在IDEA当中写Java代码，存在包的概念。
 * Java当中的包有点类似于操作系统中的文件夹，但又不同于文件夹。
 * 包是一个非常基础的概念，下面来讲解一下。
 *
 * 包的作用:
 *      1.用来区分同名Java类，同包中不能有两个同名的Java class。（一个文件夹中也不允许有两个同名文件）
 *      一个Java文件下的所有类(public class/ 非public class)都是同包的关系
 *      而同包下不允许存在同名类.
 *
 *      2.包还可以用来划分访问权限。（面向对象详细讲，这里先略过）
 *      3.包还用来帮助程序员区分不同功能的java class,用来组织庞大的java class体系.
 *
 * 特别强调:
 *      在任何情况下,都应该先写包,然后在包中新建java文件,来写代码
 *      禁止直接在src目录下创建java文件.
 *
 *
 */
// 一个Java文件下最多只能定义一个public class 并且类名要和文件名保持一致
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("hello world!"); // 这行代码输出hello world 这种写法是错误的
    }
}

// 但是一个Java文件下可以存在多个非public class并且类名是没有限制的
class A {
}

class B {
}

class C {
}
